iT邦幫忙

2026 iThome 鐵人賽

DAY 2
0
自我挑戰組

學習C#續系列 第 2

Day 2:C# 複習-2(陣列、清單、方法(函數)、方法多載與遞迴)

  • 分享至 

  • xImage
  •  

1. 陣列 (Array)

  • 核心概念:儲存固定長度且同型別資料的循序結構。
  • 特性:每個元素佔用記憶體大小一致、支援O(1)隨機存取、元素等同於變數。
  • 宣告與建立語法:
    1. 一維陣列:
      https://ithelp.ithome.com.tw/upload/images/20260914/20178925pjVdHkXRA8.png
    2. 二維陣列 (矩形陣列):
      https://ithelp.ithome.com.tw/upload/images/20260914/20178925GHGFr7JBpm.png
    3. 交錯陣列 (Jagged Array,陣列中的陣列):
      https://ithelp.ithome.com.tw/upload/images/20260914/20178925QxmAimybqY.png

2. 清單 (List)

  • 核心概念:動態長度、具順序性且可變(Mutable)的資料結構。
  • 命名空間:using System.Collections.Generic;
    https://ithelp.ithome.com.tw/upload/images/20260914/20178925XnnbdPh4fQ.png
  • 型別說明:
    • 標準 List 為強型別(如 List 全為整數)。
    • 若需混合不同型別,需使用 List。
      https://ithelp.ithome.com.tw/upload/images/20260914/20178925q4w7wL8qUS.png

3. 函數 / 方法 (Method)

  • 優點:模組化、程式碼簡潔易維護、提高重複使用性。
  • 觀念釐清:方法不一定要有回傳值;回傳型別宣告為 void 時即代表不回傳任何資料。
  • 定義語法:
    https://ithelp.ithome.com.tw/upload/images/20260915/20178925FTrKlGJIId.png
  • 組成要素:
    • 存取修飾詞:public、private、protected、internal。
    • 命名規範:C# 方法名稱慣用 PascalCase(首字母大寫,如 CalculateTotal)。
    • 回傳值:透過 return 傳回單一值(或使用 Tuple 傳回多值)。

4. 方法多載 (Method Overloading)

  • 定義:同一個類別內,定義同名但參數簽章不同的多個方法。
  • 成立條件:
    • 方法名稱必須完全一致。
    • 參數數量或參數型別必須不同。
    • 僅回傳型別不同不構成多載(編譯器無法僅依回傳值判定呼叫目標)。
  • 使用範例:
    https://ithelp.ithome.com.tw/upload/images/20260915/20178925JJTfcDpWzd.png

  1. 遞迴 (Recursion)
  • 核心概念:方法自我呼叫,將複雜問題拆解為「更小的同類子問題」。
  • 必備兩大要素:
    • 終止條件 (Base Case):避免無限遞迴造成 StackOverflowException。
    • 遞迴步驟 (Recursive Step):每次呼叫都要逐漸收斂至終止條件。
  • 階乘範例 (n!):
    https://ithelp.ithome.com.tw/upload/images/20260915/20178925D7QN4T2jNH.png
  • 遞迴 vs. 迴圈比較:
    https://ithelp.ithome.com.tw/upload/images/20260915/2017892597snpQ8bee.png

上一篇
Day 1: C# 複習-1(開發環境、程式結構、資料型別、運算子、流程控制、迴圈跳轉以及兩個綜合實作範例)
下一篇
Day 3: C# 複習-3(錯誤處理、命名空間、類別與物件、建構子)
系列文
學習C#續8
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言